Skip to main content

Running your Service

Elias Groot

Elias Groot

Software Lead, Course Organizer

After completing the previous steps, we can now read from the camera, compute the servo position based on the track edges and let the actuator service move the servo for us. Let's test our service on the Rover!

Uploading Your Service

This is the easy part. Enter your service's root directory and use roverctl to sync/upload your service files. You can control the version you want to upload by modifying the service.yaml version field. Let's update it to our new 1.0.1 version first:

dummy service/service.yaml
name: controller
version: 1.0.1
...

Then, open roverctl, navigate to "services" and select "sync", or use the shorthand command:

roverctl service sync

Enabling Your Service

To enable your service in the pipeline that roverd will execute, open roverctl again and navigate to the "pipeline" page. Hit c to enter configuration mode. If there already is a service with the name "controller", you need to disable this first by switching to the "enabled" table using tab, navigating to the controller service and hitting d.

Then, switch back to the list of all installed services, select your author name and the "controller" service. Hit enter on the 1.0.1 version that you want to enable. roverctl will confirm that this is a valid pipeline. If it isn't yet, make sure to also enable the imaging and actuator service.

Finally, hit s to save your pipeline and q to go back to the pipeline overview.

Running Your Pipeline

This is the fun part. When in the pipeline view, just hit s to start your pipeline. The first time might take a while, because your new service needs to be built first.

Once running, you can navigate to your service and use l to view its logs. By hitting s again, you can stop your pipeline.

You've just created your own service and integrated it with the ASE software framework and our official services. You've seen the essential building blocks to read from sensors and control the car. Try experimenting with the service code. If you want to experiment with motor throttle values, put your Rover on a car stand when debugging.